package Core;

import java.util.ArrayList;
import java.util.List;

public class LevelSnapshot
{
	private int _attackBonus;
	private int _manaBonus;
	private int _hitPointBonus;
	private int _fortitudeBonus;
	private int _reflexBonus;
	private int _willBonus;
	private List<SpecialAbility> _abilities;
	
	public LevelSnapshot()
	{
		this._abilities = new ArrayList<SpecialAbility>();
	}
	
	public int getAttackBonus()
	{
		return this._attackBonus;
	}
	
	public void setAttackBonus(int attackBonus)
	{
		this._attackBonus = attackBonus;
	}
	
	public int getManaBonus()
	{
		return this._manaBonus;
	}
	
	public void setManaBonus(int manaBonus)
	{
		this._manaBonus = manaBonus;
	}
	
	public int getHitPointBonus()
	{
		return this._hitPointBonus;
	}
	
	public void setHitPointBonus(int hitPointBonus)
	{
		this._hitPointBonus = hitPointBonus;
	}
	
	public int getFortitudeBonus()
	{
		return this._fortitudeBonus;
	}
	
	public void setFortitudeBonus(int fortitudeBonus)
	{
		this._fortitudeBonus = fortitudeBonus;
	}
	
	public int getReflexBonus()
	{
		return this._reflexBonus;
	}
	
	public void setReflexBonus(int reflexBonus)
	{
		this._reflexBonus = reflexBonus;
	}
	
	public int getWillBonus()
	{
		return this._willBonus;
	}
	
	public void setWillBonus(int willBonus)
	{
		this._willBonus = willBonus;
	}
	
	public SpecialAbility[] getAbilities()
	{
		return this._abilities.toArray(new SpecialAbility[0]);
	}
	
	public void addAbility(SpecialAbility newAbility)
	{
		this._abilities.add(newAbility);
	}
}
